In many signal and data processing and analysis applications, each data unit, or symbol, in a one-dimensional, two-dimensional, or higher-dimensional sequence of symbols may be analyzed based on a local context, or neighborhood, of symbols temporally or spatially related to the currently considered symbol. Context-based analysis and processing of data and signals is particularly well suited to applications in which processing and analysis need to occur in real time, in which there are significant constraints on processing capacity and/or memory resources, or when information is lacking for more comprehensive analytical approaches based on global information. Denoising of signals received through a noisy channel is one well-studied example of an application in which context-based signal analysis may provide near-optimal efficiencies under the constraint that the originally transmitted, clean signal is not available following transmission.
Viewing a typical data-or-signal processing or analysis task as an operation carried out on an ordered sequence of symbols, such as numerical representations of bits or bytes, text characters, or other familiar symbols, a context-based approach involves considering each symbol within the symbol sequence with respect to its local neighborhood, or context, in order to potentially alter the symbol for some well-defined purpose. For example, in a denoising application, symbols in an ordered sequence of symbols received through a noisy channel may be altered, independently from one another, in order to remove noise introduced into the symbol sequence by the noisy channel. As another example, pixel values within an ordered sequence of pixel values representing an image may be altered in order to emphasize certain types of features, such as linear intensity edges, during an image filtering operation. In many cases, a fixed-size context, or neighborhood, about each symbol is employed in context-based analysis, and often the fixed size is chosen somewhat arbitrarily. Study of context-based analysis and processing has revealed that the efficiencies and/or accuracy of context-based processing and analysis may be optimized by optimizing the size and geometry of the contexts employed in the analysis and processing. In many cases, optimal or near-optimal results are obtained when the context size and geometry are not fixed throughout the analysis or processing task, but may vary in time or with respect to the position of the currently considered symbol within the ordered symbol sequence.
Unfortunately, optimizing an analysis or processing task with respect to context size and geometry may itself be a computationally expensive and conceptually difficult task. Therefore, information theorists, researchers and developers of a wide variety of signal-and/or-data processing and analysis methods and systems, and, ultimately, manufacturers, vendors, and users of such systems, have recognized the need for more efficient and accurate data-and/or-signal processing and analysis using context-based methods with optimal or near-optimal context sets.